{
 "metadata": {
  "name": "",
  "signature": "sha256:61b849abfb83452f98a5ca4cb6a6896229ef39b878366e25b337821a9ab10900"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Data science pipeline: pandas, seaborn, scikit-learn\n",
      "*From the video series: [Introduction to machine learning with scikit-learn](https://github.com/justmarkham/scikit-learn-videos)*"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Agenda\n",
      "\n",
      "- How do I use the **pandas library** to read data into Python?\n",
      "- How do I use the **seaborn library** to visualize data?\n",
      "- What is **linear regression**, and how does it work?\n",
      "- How do I **train and interpret** a linear regression model in scikit-learn?\n",
      "- What are some **evaluation metrics** for regression problems?\n",
      "- How do I choose **which features to include** in my model?"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Types of supervised learning\n",
      "\n",
      "- **Classification:** Predict a categorical response\n",
      "- **Regression:** Predict a continuous response"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Reading data using pandas\n",
      "\n",
      "**Pandas:** popular Python library for data exploration, manipulation, and analysis\n",
      "\n",
      "- Anaconda users: pandas is already installed\n",
      "- Other users: [installation instructions](http://pandas.pydata.org/pandas-docs/stable/install.html)"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# conventional way to import pandas\n",
      "import pandas as pd"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# read CSV file directly from a URL and save the results\n",
      "data = pd.read_csv('http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv', index_col=0)\n",
      "\n",
      "# display the first 5 rows\n",
      "data.head()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>TV</th>\n",
        "      <th>Radio</th>\n",
        "      <th>Newspaper</th>\n",
        "      <th>Sales</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
        "      <td>230.1</td>\n",
        "      <td>37.8</td>\n",
        "      <td>69.2</td>\n",
        "      <td>22.1</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
        "      <td>44.5</td>\n",
        "      <td>39.3</td>\n",
        "      <td>45.1</td>\n",
        "      <td>10.4</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
        "      <td>17.2</td>\n",
        "      <td>45.9</td>\n",
        "      <td>69.3</td>\n",
        "      <td>9.3</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
        "      <td>151.5</td>\n",
        "      <td>41.3</td>\n",
        "      <td>58.5</td>\n",
        "      <td>18.5</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5</th>\n",
        "      <td>180.8</td>\n",
        "      <td>10.8</td>\n",
        "      <td>58.4</td>\n",
        "      <td>12.9</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 3,
       "text": [
        "      TV  Radio  Newspaper  Sales\n",
        "1  230.1   37.8       69.2   22.1\n",
        "2   44.5   39.3       45.1   10.4\n",
        "3   17.2   45.9       69.3    9.3\n",
        "4  151.5   41.3       58.5   18.5\n",
        "5  180.8   10.8       58.4   12.9"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Primary object types:\n",
      "\n",
      "- **DataFrame:** rows and columns (like a spreadsheet)\n",
      "- **Series:** a single column"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# display the last 5 rows\n",
      "data.tail()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>TV</th>\n",
        "      <th>Radio</th>\n",
        "      <th>Newspaper</th>\n",
        "      <th>Sales</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>196</th>\n",
        "      <td>38.2</td>\n",
        "      <td>3.7</td>\n",
        "      <td>13.8</td>\n",
        "      <td>7.6</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>197</th>\n",
        "      <td>94.2</td>\n",
        "      <td>4.9</td>\n",
        "      <td>8.1</td>\n",
        "      <td>9.7</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>198</th>\n",
        "      <td>177.0</td>\n",
        "      <td>9.3</td>\n",
        "      <td>6.4</td>\n",
        "      <td>12.8</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>199</th>\n",
        "      <td>283.6</td>\n",
        "      <td>42.0</td>\n",
        "      <td>66.2</td>\n",
        "      <td>25.5</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>200</th>\n",
        "      <td>232.1</td>\n",
        "      <td>8.6</td>\n",
        "      <td>8.7</td>\n",
        "      <td>13.4</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 4,
       "text": [
        "        TV  Radio  Newspaper  Sales\n",
        "196   38.2    3.7       13.8    7.6\n",
        "197   94.2    4.9        8.1    9.7\n",
        "198  177.0    9.3        6.4   12.8\n",
        "199  283.6   42.0       66.2   25.5\n",
        "200  232.1    8.6        8.7   13.4"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# check the shape of the DataFrame (rows, columns)\n",
      "data.shape"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 5,
       "text": [
        "(200, 4)"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "What are the features?\n",
      "- **TV:** advertising dollars spent on TV for a single product in a given market (in thousands of dollars)\n",
      "- **Radio:** advertising dollars spent on Radio\n",
      "- **Newspaper:** advertising dollars spent on Newspaper\n",
      "\n",
      "What is the response?\n",
      "- **Sales:** sales of a single product in a given market (in thousands of items)\n",
      "\n",
      "What else do we know?\n",
      "- Because the response variable is continuous, this is a **regression** problem.\n",
      "- There are 200 **observations** (represented by the rows), and each observation is a single market."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Visualizing data using seaborn\n",
      "\n",
      "**Seaborn:** Python library for statistical data visualization built on top of Matplotlib\n",
      "\n",
      "- Anaconda users: run **`conda install seaborn`** from the command line\n",
      "- Other users: [installation instructions](http://stanford.edu/~mwaskom/software/seaborn/installing.html)"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# conventional way to import seaborn\n",
      "import seaborn as sns\n",
      "\n",
      "# allow plots to appear within the notebook\n",
      "%matplotlib inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 6
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# visualize the relationship between the features and the response using scatterplots\n",
      "sns.pairplot(data, x_vars=['TV','Radio','Newspaper'], y_vars='Sales', size=7, aspect=0.7, kind='reg')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 7,
       "text": [
        "<seaborn.axisgrid.PairGrid at 0x18922518>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAHxCAYAAADDZ9+5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlwW9edL/jvxQ7uG7RYEkWJoqHNsmSr7cirvCSR446d\nxPFL+nUncb+aN93VXTXpqp6/el711NS8mnnzajJT70296u7XVR0nlXS6O5udtJc4TmzZsRU7sinJ\nsiWIIkVRu0CA2HFxL+498wcIiAtIYrkXuBf4fqpcZREkcEji/u7h7/zO70hCCBARERERERERGcHR\n7AEQERERERERUetgooGIiIiIiIiIDMNEAxEREREREREZhokGIiIiIiIiIjIMEw1EREREREREZBgm\nGoiIiIiIiIjIMC6znjgYDDoB/D2A2wEIAH8KIAfgeQA6gNMA/jwUCvF8TSIiIiIiIqIWYWZFw+8D\n0EOh0AMA/gOA/wPAtwD8VSgUegiABOBpE1+fiIiIiIiIiBrMtERDKBR6EcCfzP9zBMAcgLtDodBb\n8x97BcDjZr0+ERERERERETWeqT0aQqGQFgwGnwfwXwB8H4UqhqIUgF4zX5+IiIiIiIiIGsu0Hg1F\noVDouWAwuB7A+wB8Cx7qBhBb6+uFEEKSpLU+jYioFZga7BhPiaiNMJ4SERmjpmBnZjPIrwHYHAqF\n/k8AWQAagOPBYPDhUCh0FMATAH611vNIkoRwOGnWMOsSCHRbdmyAtcdn5bEB1h6flccGWHt8Vh4b\nUBifmawcT1di9d9ZORxzY9hxzIA9x23XMZuJ8bQxOObGsOOYAXuO265jroWZFQ0/AvB8MBg8CsAN\n4JsAzgL4+2Aw6AHwyfznEBEREREREVGLMC3REAqFsgC+Uuahw2a9JhERERERERE1l6nNIImIiIiI\niIiovTDRQERERERERESGYaKBiIiIiIiIiAzDRAMRERERERERGYaJBiIiIiIiIiIyDBMNRERERERE\nRGQYJhqIiIiIiIiIyDBMNBARERERERGRYZhoICIiIiIiIiLDMNFARERERERERIZhooGIiIiIiIiI\nDMNEAxEREREREREZhokGIiIiIiIiIjIMEw1EREREREREZBgmGoiIiIiIiIjIMEw0EBEREREREZFh\nmGggIiIiIiIiIsMw0UBEREREREREhmGigYiIiIiIiIgMw0QDERERERERERmGiQYiIiIiIiIiMgwT\n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\nBZtrAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3f61f28>"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Linear regression\n",
      "\n",
      "**Pros:** fast, no tuning required, highly interpretable, well-understood\n",
      "\n",
      "**Cons:** unlikely to produce the best predictive accuracy (presumes a linear relationship between the features and response)"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "### Form of linear regression\n",
      "\n",
      "$y = \\beta_0 + \\beta_1x_1 + \\beta_2x_2 + ... + \\beta_nx_n$\n",
      "\n",
      "- $y$ is the response\n",
      "- $\\beta_0$ is the intercept\n",
      "- $\\beta_1$ is the coefficient for $x_1$ (the first feature)\n",
      "- $\\beta_n$ is the coefficient for $x_n$ (the nth feature)\n",
      "\n",
      "In this case:\n",
      "\n",
      "$y = \\beta_0 + \\beta_1 \\times TV + \\beta_2 \\times Radio + \\beta_3 \\times Newspaper$\n",
      "\n",
      "The $\\beta$ values are called the **model coefficients**. These values are \"learned\" during the model fitting step using the \"least squares\" criterion. Then, the fitted model can be used to make predictions!"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Preparing X and y using pandas\n",
      "\n",
      "- scikit-learn expects X (feature matrix) and y (response vector) to be NumPy arrays.\n",
      "- However, pandas is built on top of NumPy.\n",
      "- Thus, X can be a pandas DataFrame and y can be a pandas Series!"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# create a Python list of feature names\n",
      "feature_cols = ['TV', 'Radio', 'Newspaper']\n",
      "\n",
      "# use the list to select a subset of the original DataFrame\n",
      "X = data[feature_cols]\n",
      "\n",
      "# equivalent command to do this in one line\n",
      "X = data[['TV', 'Radio', 'Newspaper']]\n",
      "\n",
      "# print the first 5 rows\n",
      "X.head()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>TV</th>\n",
        "      <th>Radio</th>\n",
        "      <th>Newspaper</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
        "      <td>230.1</td>\n",
        "      <td>37.8</td>\n",
        "      <td>69.2</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
        "      <td>44.5</td>\n",
        "      <td>39.3</td>\n",
        "      <td>45.1</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
        "      <td>17.2</td>\n",
        "      <td>45.9</td>\n",
        "      <td>69.3</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
        "      <td>151.5</td>\n",
        "      <td>41.3</td>\n",
        "      <td>58.5</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5</th>\n",
        "      <td>180.8</td>\n",
        "      <td>10.8</td>\n",
        "      <td>58.4</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 8,
       "text": [
        "      TV  Radio  Newspaper\n",
        "1  230.1   37.8       69.2\n",
        "2   44.5   39.3       45.1\n",
        "3   17.2   45.9       69.3\n",
        "4  151.5   41.3       58.5\n",
        "5  180.8   10.8       58.4"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# check the type and shape of X\n",
      "print type(X)\n",
      "print X.shape"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "<class 'pandas.core.frame.DataFrame'>\n",
        "(200, 3)\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# select a Series from the DataFrame\n",
      "y = data['Sales']\n",
      "\n",
      "# equivalent command that works if there are no spaces in the column name\n",
      "y = data.Sales\n",
      "\n",
      "# print the first 5 values\n",
      "y.head()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "1    22.1\n",
        "2    10.4\n",
        "3     9.3\n",
        "4    18.5\n",
        "5    12.9\n",
        "Name: Sales, dtype: float64"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# check the type and shape of y\n",
      "print type(y)\n",
      "print y.shape"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "<class 'pandas.core.series.Series'>\n",
        "(200L,)\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Splitting X and y into training and testing sets"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from sklearn.cross_validation import train_test_split\n",
      "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 12
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# default split is 75% for training and 25% for testing\n",
      "print X_train.shape\n",
      "print y_train.shape\n",
      "print X_test.shape\n",
      "print y_test.shape"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(150L, 3L)\n",
        "(150L,)\n",
        "(50L, 3L)\n",
        "(50L,)\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Linear regression in scikit-learn"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# import model\n",
      "from sklearn.linear_model import LinearRegression\n",
      "\n",
      "# instantiate\n",
      "linreg = LinearRegression()\n",
      "\n",
      "# fit the model to the training data (learn the coefficients)\n",
      "linreg.fit(X_train, y_train)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 14,
       "text": [
        "LinearRegression(copy_X=True, fit_intercept=True, normalize=False)"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "### Interpreting model coefficients"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# print the intercept and coefficients\n",
      "print linreg.intercept_\n",
      "print linreg.coef_"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "2.87696662232\n",
        "[ 0.04656457  0.17915812  0.00345046]\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# pair the feature names with the coefficients\n",
      "zip(feature_cols, linreg.coef_)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 16,
       "text": [
        "[('TV', 0.046564567874150253),\n",
        " ('Radio', 0.1791581224508885),\n",
        " ('Newspaper', 0.0034504647111804621)]"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "$$y = 2.88 + 0.0466 \\times TV + 0.179 \\times Radio + 0.00345 \\times Newspaper$$\n",
      "\n",
      "How do we interpret the **TV coefficient** (0.0466)?\n",
      "\n",
      "- For a given amount of Radio and Newspaper ad spending, **a \"unit\" increase in TV ad spending** is associated with a **0.0466 \"unit\" increase in Sales**.\n",
      "- Or more clearly: For a given amount of Radio and Newspaper ad spending, **an additional $1,000 spent on TV ads** is associated with an **increase in sales of 46.6 items**.\n",
      "\n",
      "Important notes:\n",
      "\n",
      "- This is a statement of **association**, not **causation**.\n",
      "- If an increase in TV ad spending was associated with a **decrease** in sales, $\\beta_1$ would be **negative**."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "### Making predictions"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# make predictions on the testing set\n",
      "y_pred = linreg.predict(X_test)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 17
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We need an **evaluation metric** in order to compare our predictions with the actual values!"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Model evaluation metrics for regression\n",
      "\n",
      "Evaluation metrics for classification problems, such as **accuracy**, are not useful for regression problems. Instead, we need evaluation metrics designed for comparing continuous values.\n",
      "\n",
      "Let's create some example numeric predictions, and calculate **three common evaluation metrics** for regression problems:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# define true and predicted response values\n",
      "true = [100, 50, 30, 20]\n",
      "pred = [90, 50, 50, 30]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 18
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Mean Absolute Error** (MAE) is the mean of the absolute value of the errors:\n",
      "\n",
      "$$\\frac 1n\\sum_{i=1}^n|y_i-\\hat{y}_i|$$"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# calculate MAE by hand\n",
      "print (10 + 0 + 20 + 10)/4.\n",
      "\n",
      "# calculate MAE using scikit-learn\n",
      "from sklearn import metrics\n",
      "print metrics.mean_absolute_error(true, pred)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "10.0\n",
        "10.0\n"
       ]
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Mean Squared Error** (MSE) is the mean of the squared errors:\n",
      "\n",
      "$$\\frac 1n\\sum_{i=1}^n(y_i-\\hat{y}_i)^2$$"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# calculate MSE by hand\n",
      "print (10**2 + 0**2 + 20**2 + 10**2)/4.\n",
      "\n",
      "# calculate MSE using scikit-learn\n",
      "print metrics.mean_squared_error(true, pred)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "150.0\n",
        "150.0\n"
       ]
      }
     ],
     "prompt_number": 20
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Root Mean Squared Error** (RMSE) is the square root of the mean of the squared errors:\n",
      "\n",
      "$$\\sqrt{\\frac 1n\\sum_{i=1}^n(y_i-\\hat{y}_i)^2}$$"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# calculate RMSE by hand\n",
      "import numpy as np\n",
      "print np.sqrt((10**2 + 0**2 + 20**2 + 10**2)/4.)\n",
      "\n",
      "# calculate RMSE using scikit-learn\n",
      "print np.sqrt(metrics.mean_squared_error(true, pred))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "12.2474487139\n",
        "12.2474487139\n"
       ]
      }
     ],
     "prompt_number": 21
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Comparing these metrics:\n",
      "\n",
      "- **MAE** is the easiest to understand, because it's the average error.\n",
      "- **MSE** is more popular than MAE, because MSE \"punishes\" larger errors.\n",
      "- **RMSE** is even more popular than MSE, because RMSE is interpretable in the \"y\" units."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "### Computing the RMSE for our Sales predictions"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print np.sqrt(metrics.mean_squared_error(y_test, y_pred))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "1.40465142303\n"
       ]
      }
     ],
     "prompt_number": 22
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Feature selection\n",
      "\n",
      "Does **Newspaper** \"belong\" in our model? In other words, does it improve the quality of our predictions?\n",
      "\n",
      "Let's **remove it** from the model and check the RMSE!"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# create a Python list of feature names\n",
      "feature_cols = ['TV', 'Radio']\n",
      "\n",
      "# use the list to select a subset of the original DataFrame\n",
      "X = data[feature_cols]\n",
      "\n",
      "# select a Series from the DataFrame\n",
      "y = data.Sales\n",
      "\n",
      "# split into training and testing sets\n",
      "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)\n",
      "\n",
      "# fit the model to the training data (learn the coefficients)\n",
      "linreg.fit(X_train, y_train)\n",
      "\n",
      "# make predictions on the testing set\n",
      "y_pred = linreg.predict(X_test)\n",
      "\n",
      "# compute the RMSE of our predictions\n",
      "print np.sqrt(metrics.mean_squared_error(y_test, y_pred))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "1.38790346994\n"
       ]
      }
     ],
     "prompt_number": 23
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The RMSE **decreased** when we removed Newspaper from the model. (Error is something we want to minimize, so **a lower number for RMSE is better**.) Thus, it is unlikely that this feature is useful for predicting Sales, and should be removed from the model."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Resources\n",
      "\n",
      "Linear regression:\n",
      "\n",
      "- [Longer notebook on linear regression](https://github.com/justmarkham/DAT5/blob/master/notebooks/09_linear_regression.ipynb) by me\n",
      "- Chapter 3 of [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/) and [related videos](http://www.dataschool.io/15-hours-of-expert-machine-learning-videos/) by Hastie and Tibshirani (Stanford)\n",
      "- [Quick reference guide to applying and interpreting linear regression](http://www.dataschool.io/applying-and-interpreting-linear-regression/) by me\n",
      "- [Introduction to linear regression](http://people.duke.edu/~rnau/regintro.htm) by Robert Nau (Duke)\n",
      "\n",
      "Pandas:\n",
      "\n",
      "- [Three-part pandas tutorial](http://www.gregreda.com/2013/10/26/intro-to-pandas-data-structures/) by Greg Reda\n",
      "- [read_csv](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html) and [read_table](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_table.html) documentation\n",
      "\n",
      "Seaborn:\n",
      "\n",
      "- [Official seaborn tutorial](http://web.stanford.edu/~mwaskom/software/seaborn/tutorial.html)\n",
      "- [Example gallery](http://web.stanford.edu/~mwaskom/software/seaborn/examples/index.html)"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Comments or Questions?\n",
      "\n",
      "- Email: <kevin@dataschool.io>\n",
      "- Website: http://dataschool.io\n",
      "- Twitter: [@justmarkham](https://twitter.com/justmarkham)"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from IPython.core.display import HTML\n",
      "def css_styling():\n",
      "    styles = open(\"styles/custom.css\", \"r\").read()\n",
      "    return HTML(styles)\n",
      "css_styling()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<style>\n",
        "    @font-face {\n",
        "        font-family: \"Computer Modern\";\n",
        "        src: url('http://mirrors.ctan.org/fonts/cm-unicode/fonts/otf/cmunss.otf');\n",
        "    }\n",
        "    div.cell{\n",
        "        width: 90%;\n",
        "/*        margin-left:auto;*/\n",
        "/*        margin-right:auto;*/\n",
        "    }\n",
        "    ul {\n",
        "        line-height: 145%;\n",
        "        font-size: 90%;\n",
        "    }\n",
        "    li {\n",
        "        margin-bottom: 1em;\n",
        "    }\n",
        "    h1 {\n",
        "        font-family: Helvetica, serif;\n",
        "    }\n",
        "    h4{\n",
        "        margin-top: 12px;\n",
        "        margin-bottom: 3px;\n",
        "       }\n",
        "    div.text_cell_render{\n",
        "        font-family: Computer Modern, \"Helvetica Neue\", Arial, Helvetica, Geneva, sans-serif;\n",
        "        line-height: 145%;\n",
        "        font-size: 130%;\n",
        "        width: 90%;\n",
        "        margin-left:auto;\n",
        "        margin-right:auto;\n",
        "    }\n",
        "    .CodeMirror{\n",
        "            font-family: \"Source Code Pro\", source-code-pro,Consolas, monospace;\n",
        "    }\n",
        "/*    .prompt{\n",
        "        display: None;\n",
        "    }*/\n",
        "    .text_cell_render h5 {\n",
        "        font-weight: 300;\n",
        "        font-size: 16pt;\n",
        "        color: #4057A1;\n",
        "        font-style: italic;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 0.5em;\n",
        "        display: block;\n",
        "    }\n",
        "\n",
        "    .warning{\n",
        "        color: rgb( 240, 20, 20 )\n",
        "        }\n",
        "</style>\n",
        "<script>\n",
        "    MathJax.Hub.Config({\n",
        "                        TeX: {\n",
        "                           extensions: [\"AMSmath.js\"]\n",
        "                           },\n",
        "                tex2jax: {\n",
        "                    inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
        "                    displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
        "                },\n",
        "                displayAlign: 'center', // Change this to 'center' to center equations.\n",
        "                \"HTML-CSS\": {\n",
        "                    styles: {'.MathJax_Display': {\"margin\": 4}}\n",
        "                }\n",
        "        });\n",
        "</script>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 1,
       "text": [
        "<IPython.core.display.HTML at 0x3f78208>"
       ]
      }
     ],
     "prompt_number": 1
    }
   ],
   "metadata": {}
  }
 ]
}